// ==========================================================================
// GFast自动生成model entity操作代码。
// 生成日期：2024-11-11 20:52:34
// 生成路径: internal/app/system/model/entity/users.go
// 生成人：王中阳
// desc:用户
// company:云南奇讯科技有限公司
// ==========================================================================

package entity

import (
	"github.com/gogf/gf/v2/os/gtime"
	"github.com/gogf/gf/v2/util/gmeta"
)

// Users is the golang structure for table users.
type Users struct {
	gmeta.Meta        `orm:"table:users"`
	Id                int                 `orm:"id,primary" json:"id"`        //
	Username          string              `orm:"username" json:"username"`    // 用户名
	Phone             string              `orm:"phone" json:"phone"`          // 手机号
	UserType          int                 `orm:"user_type" json:"userType"`   // 是否注册跑手，0表示否，1表示是
	Openid            string              `orm:"openid" json:"openid"`        // 微信授权登录获取的唯一标识
	Unionid           string              `orm:"unionid" json:"unionid"`      // 微信多平台唯一标识，用于在不同微信平台间识别同一用户
	Gender            int                 `orm:"gender" json:"gender"`        // 性别，1表示男，2表示女，0表示未知
	Country           string              `orm:"country" json:"country"`      // 国家
	Province          string              `orm:"province" json:"province"`    // 省份
	City              string              `orm:"city" json:"city"`            // 城市
	AvatarUrl         string              `orm:"avatar_url" json:"avatarUrl"` // 用户头像的URL地址
	IsBan             int                 `orm:"is_ban" json:"isBan"`         // 是否被封禁，0表示未被封禁，1表示被封禁
	Score             int                 `orm:"score" json:"score"`          // 用户积分
	SchoolId          int                 `orm:"school_id" json:"schoolId"`   // 学校ID
	LinkedSchoolId    *LinkedUsersSchools `orm:"with:id=school_id" json:"linkedSchoolId"`
	IsFirst           int                 `orm:"is_first" json:"isFirst"`                      // 是否首次登录
	PayQrCodePath     string              `orm:"pay_qr_code_path" json:"payQrCodePath"`        // 支付二维码的存储路径
	Wallet            float64             `orm:"wallet" json:"wallet"`                         // 钱包余额
	Diamonds          int                 `orm:"diamonds" json:"diamonds"`                     // 抽奖总金币
	Balance           float64             `orm:"balance" json:"balance"`                       // 钱包余额
	TotalLotteryCount string              `orm:"total_lottery_count" json:"totalLotteryCount"` // 抽奖总次数
	CreatedAt         *gtime.Time         `orm:"created_at" json:"createdAt"`                  // 创建时间
	UpdatedAt         *gtime.Time         `orm:"updated_at" json:"updatedAt"`                  // 更新时间
	DeletedAt         *gtime.Time         `orm:"deleted_at" json:"deletedAt"`                  // 删除时间
}

type LinkedUsersSchools struct {
	gmeta.Meta `orm:"table:schools"`
	Id         int    `orm:"id" json:"id"`                 //
	Schoolname string `orm:"schoolname" json:"schoolname"` //
}
